package appagendaprofesores.servlet;

import java.io.IOException;
import java.util.Collection;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import appagendaprofesores.excepcion.DAOExcepcion;
import appagendaprofesores.modelo.Estudiante;
import appagendaprofesores.negocio.GestionEstudiantes;

/**
 * Servlet implementation class BuscarEstudianteServlet
 */
@WebServlet("/BuscarEstudianteServlet")
public class BuscarEstudianteServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public BuscarEstudianteServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		System.out.println("Dentro de doPost del servlet BuscarEstudianteSerlvet");
		String x = request.getParameter("buscar");
		String por = request.getParameter("por");
	
		GestionEstudiantes negocio = new GestionEstudiantes();
		
		switch (por) {
        case "Nombre":
        	try {
    			Collection<Estudiante> lista = negocio.buscarPorNombre(x);
    			// Guardar en el ambiente de request
    			request.setAttribute("estudiante", lista);
    			RequestDispatcher rd = request
    					.getRequestDispatcher("BuscarEstudiante.jsp");
    			rd.forward(request, response);

    		} catch (DAOExcepcion e) {
    			System.out.println(e.getMessage());
    			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
    			rd.forward(request, response);
    		}
        	break;
        case "Apellido Paterno":
        	try {
    			Collection<Estudiante> lista = negocio.buscarPorApellidoPaterno(x);
    			// Guardar en el ambiente de request
    			request.setAttribute("estudiante", lista);
    			RequestDispatcher rd = request
    					.getRequestDispatcher("BuscarEstudiante.jsp");
    			rd.forward(request, response);

    		} catch (DAOExcepcion e) {
    			System.out.println(e.getMessage());
    			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
    			rd.forward(request, response);
    		}
        	break;
        case "Apellido Materno":
        	try {
    			Collection<Estudiante> lista = negocio.buscarPorApellidoMaterno(x);
    			// Guardar en el ambiente de request
    			request.setAttribute("estudiante", lista);
    			RequestDispatcher rd = request
    					.getRequestDispatcher("BuscarEstudiante.jsp");
    			rd.forward(request, response);

    		} catch (DAOExcepcion e) {
    			System.out.println(e.getMessage());
    			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
    			rd.forward(request, response);
    		}
        	break;
        default:
			RequestDispatcher rd = request.getRequestDispatcher("error.jsp");
			rd.forward(request, response);
        }
		
	}

}
